A system and a method for determining a trajectory to be followed by an agricultural work vehicle

ABSTRACT

The present invention relates to a support system for determining a trajectory to be followed by an agricultural work vehicle, when working a field, said system comprises:
     a mapping unit configured for receiving:
       i) coordinates relating to the boundaries of a field to be worked; and   ii) coordinates relating to the boundaries of one or more obstacles to be avoided by said work vehicle; wherein said one or more obstacles being located within said field;   
       a capacity parameter unit configured for receiving one or more capacity parameters relating to said working vehicle;   a trajectory calculating unit configured for calculating an optimized trajectory to be followed by said work vehicle; wherein said optimized trajectory is being calculated on the basis of said coordinates received by said mapping unit; and one or more of said one or more capacity parameters received by said capacity parameter unit.

FIELD OF THE INVENTION

The present invention generally relates to the field of optimizing work trajectories of agricultural working vehicles for working a field. More specifically the present invention relates in a first aspect to a support system for determining a trajectory to be followed by an agricultural work vehicle when working a field. In a second aspect the present invention relates to a method for optimizing a trajectory to be followed by a work vehicle when working a field. In a third aspect the present invention relates to a computer program product which is adapted to perform the method according to the second aspect of the present invention. In a fourth aspect the present invention relates to an agricultural work vehicle comprising a support system according to the first aspect of the present invention. In a fifth aspect the present invention relates to a use of a support system according to the first aspect of the present invention, or of a computer program product according to the third aspect of the present invention, or of an agricultural work vehicle according to the fourth aspect of the present invention.

BACKGROUND OF THE INVENTION

Within the specific field of agriculture relating to growing crops, it has been known for thousands of years that in order to optimize crop yield the field has to be proper prepared and maintained. Accordingly, the field in which the crops are grown have to be prepared for seeding, then seeds have to be sown. During growth of the crops the field has to be fertilized and weeded and finally, when the crops have ripened, the crops are harvested.

All these preparation and maintenance operations, including harvesting will in a modern farming typically be performed using a motorized agricultural working vehicle, such as a tractor carrying or towing an implement, or the agricultural working vehicle may be self-propelled, such as it is know from harvesting machines.

Many fields used for growing crops are not free of obstacles. Accordingly, many fields used for growing crops will include a number of obstacles, such as creeks, ponds, clusters of trees, small hillocks, high voltage masts, electrical substations, wind turbines etc.

When working such fields comprising a number of obstacles these obstacles obviously have to be avoided by the working vehicle.

Most farmers when working a field comprising a number of obstacles simply follow a path based on habits. That is when working a field comprising a number of obstacles most farmers just follow the path that they use to follow when working that specific field, not paying particular attention to the question whether a more efficient path exist.

Furthermore, as various types of working implement for working a field will typically have different efficient working widths or other working parameters, it may not be the case that an optimum working path in respect of one working implement will be optimum in respect of another implement involving different working parameters.

Some agricultural working implement gain weight during operation, whereas others lose weight during operation thereof. Harvesters belong to the first category. Sowing machines and fertilizers belong to the second category.

As weight of the working vehicle, as a function of path travelled, may influence the immediate efficiency of the implement, also an optimized working trajectory may be dependent on the weight at a given position of the field. Accordingly, in order to optimize a working trajectory of an agricultural working implement, it may be necessary to take into consideration, the weight of the working implement at a given position on the trajectory.

When working farm land in a non-optimized way in which the trajectory which is followed is not an optimum trajectory, excessive time consumption in the working operation, excessive fuel consumption, excessive areas of the field covered more than once, and excessive wear on the working implement or machinery, or excessive travelling through the crops may result

Accordingly there is a persistent need for improving efficiency when working an agricultural field using a working vehicle.

It is an objective of the present invention to provide systems, uses and methods for improving efficiency when working an agricultural field using a working vehicle. Specifically it is an objective of the present invention to provide systems, uses and methods for determining an optimized trajectory to be followed by an agricultural work vehicle, when working an agricultural field.

BRIEF DESCRIPTION OF THE INVENTION

This objective is achieved by the present invention in its first, second, third, fourth and fifth aspect respectively.

Accordingly, in a first aspect, the present invention relates to a support system for determining a trajectory to be followed by an agricultural work vehicle, when working a field, said system comprises:

a mapping unit configured for receiving:

-   -   i) coordinates relating to the boundaries of a field to be         worked; and     -   ii) coordinates relating to the boundaries of one or more         obstacles to be avoided by said work vehicle; wherein said one         or more obstacles being located within said field;

a capacity parameter unit configured for receiving one or more capacity parameters relating to said working vehicle;

a trajectory calculating unit configured for calculating an optimized trajectory to be followed by said work vehicle; wherein said optimized trajectory is being calculated on the basis of said coordinates received by said mapping unit; and one or more of said one or more capacity parameters received by said capacity parameter unit.

In a second aspect the present invention relates to a method for determining a trajectory to be followed by an agricultural work vehicle, when working a field, said method comprising the steps:

a) providing information relating to:

-   -   i) coordinates relating to the boundaries of a field to be         worked; and     -   ii) coordinates relating to the boundaries of one or more         obstacles to be avoided by said work vehicle; wherein said one         or more obstacles being located within said field;

b) providing information relating to:

-   -   one or more capacity parameters relating to said working         vehicle;

c) performing a calculation of an optimized trajectory to be followed by said work vehicle; wherein said optimized trajectory is being calculated on the basis of said coordinates provided in step a) and b)

In a third aspect the present invention relates to a computer program product, which when loaded or operating on a computer, being adapted to perform the method according the second aspect.

In a fourth aspect the present invention relates to an agricultural work vehicle comprising a support system according to the first aspect.

In a fifth aspect the present invention relates to the use of a support system according to the first aspect of the present invention or of a computer program product according to the third aspect of the present invention or of an agricultural work vehicle according to the fourth aspect of the present invention for optimizing a trajectory to be followed by a work vehicle when working a field.

The present invention in its various aspects provides for optimizing a path to be followed by a working vehicle or a working implement upon working a field. Thereby a high working efficiency is obtained. The efficiency may relate to saving time, saving fuel, saving wear and tear of the machinery employed, minimizing total distance travelled twice or more, minimizing total area covered twice etc.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a top view of a field comprising a number of obstacles located within its boundary and illustrates the problems associated with working such a field.

FIG. 2 is a diagrammatic illustration of the working mode of a support system according to the present invention.

FIG. 3-23 d are illustrations relating to Example 1 illustrates how to mathematically manage to create possible continuous driving paths in an agricultural field and how to find an optimum driving path amongst those possible continuous driving paths.

FIG. 24-29 illustrates the individual steps associated with performing one embodiment of the method according to the present invention.

FIG. 30 is a flow diagram illustrating an iterative procedure for use in one embodiment of the method according to the present invention.

DETAILED DESCRIPTION OF THE INVENTION

In a first aspect the present invention relates to a support system for determining a trajectory to be followed by an agricultural work vehicle, when working a field, said system comprises:

a mapping unit configured for receiving:

-   -   i) coordinates relating to the boundaries of a field to be         worked; and     -   ii) coordinates relating to the boundaries of one or more         obstacles to be avoided by said work vehicle; wherein said one         or more obstacles being located within said field;

a capacity parameter unit configured for receiving one or more capacity parameters relating to said working vehicle;

a trajectory calculating unit configured for calculating an optimized trajectory to be followed by said work vehicle; wherein said optimized trajectory is being calculated on the basis of said coordinates received by said mapping unit; and one or more of said one or more capacity parameters received by said capacity parameter unit.

The support system is designed with the view to aid in optimizing finding a trajectory to be followed upon working an agricultural field with a working vehicle or implement.

The support system may be in the form of electronic equipment configured for receiving inputs relating to coordinates of the field and obstacles therein. The support system is further configured to using these inputted inputs to determine an optimized trajectory to be followed. The support system typically makes use of a computer for performing calculations, such as iterative calculations.

The various units may independently be connected to each other, or at least be able to communicate with each other. The support system may comprise separate entities or be integrated.

In one embodiment of the first aspect of the present invention said mapping unit is furthermore is configured for receiving:

-   -   iii) coordinates relating to the possible entrance/exit gates of         the field.

This ensures that the position or positions of entrance/exit gates are taking into consideration when calculating the optimized trajectory to be followed.

In one embodiment of the first aspect of the present invention said optimized trajectory is being an optimized trajectory in terms of total operational time for working the field; total productive time for working the field; total fuel consumption for working the field; total non-working distance for working the field; total distance travelled twice or more; total distance travelled through crops; total area covered twice or more.

Depending on which concern after which the trajectory is to be optimized, a number of different optimizations parameters are possible. Above, a few of these are listed.

In one embodiment of the first aspect of the present invention said one or more capacity parameters is being selected from the group comprising: effective working width of the work vehicle or the working implement, load of work vehicle as a function of distance travelled, fuel consumption as a function of distance travelled, minimum turning radius of vehicle or implement or both.

These parameters are parameters which may be relevant in finding an optimized trajectory to follow when working a field.

In one embodiment of the first aspect of the present invention said support system further comprising a display unit configured to be able to show on a map of said filed, the optimized trajectory to be followed by said work vehicle as calculated by said trajectory calculating unit.

This will enable the driver of the working vehicle or implement to easily follow the optimized trajectory, once this has been provided by the trajectory calculating unit.

In one embodiment of the first aspect of the present invention said mapping unit is being configured for storing, in respect of one or more specific fields, one or more of: i) coordinates relating to the boundaries of said one or more specific fields; ii) coordinates relating to the boundaries of one or more obstacles being located within said one or more specific fields; and iii) coordinates relating to the possible entrance/exit gates of said one or more specific fields.

This will allow minimizing the amount of input needed from time to time.

In one embodiment of the first aspect of the present invention said trajectory calculating unit is configured to calculate an optimized trajectory analytically or numerically.

Analytically or numerically calculation strategies are two strategies that are particularly well suited in respect of the present invention.

In one embodiment of the first aspect of the present invention said trajectory calculating unit is being configured to find a number of candidate trajectories, and wherein said trajectory calculating unit is configured to calculate, in respect of each candidate trajectory, an efficiency parameter, and wherein said trajectory calculating unit is configured to suggest to the user, that specific candidate trajectory, which exhibits the highest efficiency parameter.

Such a mode of operation of the support system is particularly preferred.

In one embodiment of the first aspect of the present invention said trajectory calculating unit is being configured to perform the following steps:

-   -   a) approximating the coordinates relating to the boundaries of         said field to be worked to a boundary polygon; and wherein said         support system is being configured to determine the trajectory         to be followed, based on that approximation;     -   b) approximating the coordinates relating to the boundaries of         each said one or more obstacles, to respective obstacle         polygons; and wherein said support system is being configured to         determine the trajectory to be followed, based on that         approximation;     -   c) defining one or more headlands located immediately within         said boundary polygon;     -   d) in respect of each obstacle polygon, defining one or more         headlands surrounding said obstacle polygon;     -   e) defining a work area which corresponds to the area within         said boundary polygon with the exclusion of the area         corresponding to any headlands and with the exclusion of the         area corresponding to any obstacle polygon;     -   f) in respect of the orientation of one or more sides of         headlands, define an array of parallel working rows located         within said work area;     -   g) in respect of one or more arrays of parallel working rows         defined in step f), define an array of possible continuous         driving paths by connecting separate entities, wherein said         separate entities is being either headlands, or parts of a         headland, and working rows, or parts of a working row; so as to         define possible continuous driving paths, wherein each driving         path is covering all headlands and all working rows;     -   h) in respect of each of more possible continuous driving paths         defined in step g), calculate an associated cost parameter, said         calculated cost parameter being representative of the efficiency         by following that specific continuous driving path;     -   i) select as the trajectory to be followed, that specific         continuous driving path exhibiting the highest efficiency.

Hereby it is possible in a clever and well-organized way to allow the trajectory calculating unit to find an optimized trajectory to be followed.

In one embodiment of the first aspect of the present invention said trajectory calculating unit is being configured to create a possible continuous path by first choosing a particular entrance/exit gate.

As the entrance/exit gate(s) is/are fixed constraint(s) it has proven beneficial to operate the system this way.

In one embodiment of the first aspect of the present invention said headland surrounding said obstacle polygon in respect of one or more of said obstacle polygons, includes a safety offset area surrounding said obstacle polygon.

Including a safety offset area surrounding said obstacle polygon will enhance safety when operating the work vehicle or implement as collision hazards will be reduced this way.

In one embodiment of the first aspect of the present invention each said working row and/or each said headland independently are having a width corresponding to the effective working width of the work vehicle or working implement.

It is beneficial to create working paths having widths corresponding to the effective working width of the work vehicle or working implement.

In one embodiment of the first aspect of the present invention said support system being configured for defining a number of possible continues driven paths, each comprising a sequence of straight line segments and arched line segments.

Hereby it will be possible for the driver of the work vehicle or implement to follow one continuous path.

In one embodiment of the first aspect of the present invention said support system is being configured to find said optimized trajectory by means of a heuristic method, such as a greedy heuristic method, a tabu search solver, an ant colony solver, a genetic algorithm.

Such heuristic method will reduce the amount of data processing necessary for the trajectory calculating unit.

In one embodiment of the first aspect of the present invention said support system is being configured to create a number N of possible continuous driven paths with an associated assigned cost parameter, and wherein said number N being an integer in the range 1,000-700,000 or more, for example 2,000-600,000, such as 5,000-500,000, e.g. 10,000-400,000, such as 50,000-300,000 or 100,000-200,000 possible continuous driven paths with an associated assigned cost parameter.

Such numbers of choices to choose from will enhance the reliability of the trajectory found by the system.

In a second aspect the present invention relates to a method for determining a trajectory to be followed by an agricultural work vehicle, when working a field, said method comprising the steps:

a) providing information relating to:

-   -   i) coordinates relating to the boundaries of a field to be         worked; and     -   ii) coordinates relating to the boundaries of one or more         obstacles to be avoided by said work vehicle; wherein said one         or more obstacles being located within said field;

b) providing information relating to:

-   -   one or more capacity parameters relating to said working         vehicle;

c) performing a calculation of an optimized trajectory to be followed by said work vehicle; wherein said optimized trajectory is being calculated on the basis of said coordinates provided in step a) and b)

In one embodiment of the second aspect of the present invention said step a) furthermore is involves providing

-   -   iii) coordinates relating to the possible entrance/exit gates of         the field.

This ensures that the position or positions of entrance/exit gates are taking into consideration when calculating the optimized trajectory to be followed.

In one embodiment of the second aspect of the present invention said optimized trajectory is an optimized trajectory in terms of total operational time for working the field; total productive time for working the field; total fuel consumption for working the field; total non-working distance for working the field; total distance travelled twice or more; total distance travelled through crops; total area covered twice or more.

Depending on which concern after which the trajectory is to be optimized, a number of different optimizations parameters are possible. Above, a few of these are listed.

In one embodiment of the second aspect of the present invention said one or more capacity parameters being selected from the group comprising: effective working width of the work vehicle or the working implement, load of work vehicle as a function of distance travelled, fuel consumption as a function of distance travelled, minimum turning radius of vehicle or implement or both.

These parameters are parameters which may be relevant in finding an optimized trajectory to follow when working a field.

In one embodiment of the second aspect of the present invention said optimized trajectory to be followed by said work vehicle is being presented in a graphical presentation such as being showed on an electronic map of said field to be worked.

This will enable the driver of the working vehicle or implement to easily follow the optimized trajectory, once this has been provided by the trajectory calculating unit.

In one embodiment of the second aspect of the present invention said method involving calculation of said optimized trajectory analytically or numerically.

Analytically or numerically calculation strategies are two strategies that are particularly well suited in respect of the present invention.

In one embodiment of the second aspect of the present invention said method involves finding a number of candidate trajectories; calculation in respect of each candidate trajectory, an efficiency parameter; and suggesting to a user, that specific candidate trajectory, which exhibits the highest efficiency parameter.

Such a mode of operation of the method is particularly preferred.

In one embodiment of the second aspect of the present invention said method involves performing the following steps:

-   -   a) approximating the coordinates relating to the boundaries of         said field to be worked to a boundary polygon;     -   b) approximating the coordinates relating to the boundaries of         each said one or more obstacles, to respective obstacle         polygons;     -   c) defining one or more headlands located immediately within         said boundary polygon;     -   d) in respect of each obstacle polygon, defining one or more         headlands surrounding said obstacle polygon;     -   e) defining a work area which corresponds to the area within         said boundary polygon with the exclusion of the area         corresponding to any headlands and with the exclusion of the         area corresponding to any obstacle polygon;     -   f) in respect of the orientation of one or more sides of         headlands, define an array of parallel working rows located         within said work area;     -   g) in respect of one or more arrays of parallel working rows         defined in step 0, define an array of possible continuous         driving paths by connecting separate entities, wherein said         separate entities is being either headlands, or parts of a         headland, and working rows, or parts of a working row; so as to         define possible continuous driving paths wherein each driving         path is covering all headlands and all working rows;     -   h) in respect of each of more possible continuous driving paths         defined in step g), calculate an associated cost parameter, said         calculated cost parameter being representative of the efficiency         by following that specific continuous driving path;     -   i) select as the trajectory to be followed, that specific         continuous driving path exhibiting the highest efficiency.

Hereby it is possible in a clever and well-organized way to calculate and find an optimized trajectory to be followed.

In one embodiment of the second aspect of the present invention said method involves creation of a possible continuous path by first choosing a particular entrance/exit gate.

As the entrance/exit gate(s) is/are fixed constraint it has proven beneficial to operate the method this way.

In one embodiment of the second aspect of the present invention said headland surrounding said obstacle polygon, in respect of one or more of said obstacle polygons, includes a safety offset area surrounding said obstacle polygon.

Including a safety offset area surrounding said obstacle polygon will enhance safety when operating the work vehicle or implement as collision hazards will be reduced this way.

In one embodiment of the second aspect of the present invention each said working row and/or each said headland independently are having a width corresponding to the effective working width of the work vehicle or working implement.

It is beneficial to create working paths having widths corresponding to the effective working width of the work vehicle or working implement.

In one embodiment of the second aspect of the present invention said method involves defining a number of possible continuous driven paths, each comprising a sequence of straight line segments and arched line segments.

In one embodiment of the second aspect of the present invention said method involves finding said optimized trajectory by means of a heuristic method, such as a greedy heuristic method, a tabu search solver, an ant colony solver, a genetic algorithm.

Such heuristic method will reduce the amount of data processing necessary involved in the method.

In one embodiment of the second aspect of the present invention said method involves creating a number N of possible continuous driven paths with an associated assigned cost parameter, and wherein said number N being an integer in the range 1,000-700,000, possible continuous driven paths with an associated assigned cost parameter, such as 5,000-500,000, e.g. 10,000-400,000, such as 50,000-300,000 or 100,000-200,000 possible continuous driven paths with an associated assigned cost parameter.

Such numbers of choices to choose from will enhance the reliability of the trajectory found in the method.

In one embodiment of the second aspect of the present invention said method being performed by using a support system according to the first aspect of the present invention.

In a third aspect the present invention relates to a computer program product, which when loaded or operating on a computer, being adapted to perform the method according to the second aspect of the present invention.

In the present description and in the appended claims it shall be understood that a computer program product may be presented in the form of a piece of software which is storable or stored on a piece of hardware. Hereby, the computer program product may be embodied in one or more computer readable storage media as a computer readable program code embodied thereon.

Accordingly, the computer program product may be presented as a computer-readable storage medium having a computer program product embodied therein.

The computer program code is configured for carrying out the operations of the method according to the first aspect of the present invention and it may be written in any combination of one or more programming languages.

In a fourth aspect the present invention relates to an agricultural work vehicle comprising a support system according to the first aspect of the present invention.

In a fifth aspect the present invention relates to the use of a support system according to the first aspect of the present invention, or of a computer program product according to the third aspect of the present invention, of an agricultural work vehicle according to the fourth aspect of the present invention. for optimizing a trajectory to be followed by said work vehicle when working a field.

In the present description and in the appended claims the following definitions shall be adhered to:

Field to be worked: A field to be worked shall be understood to comprise a limited area of a field which content or surface need to be subjected to an agricultural activity.

Obstacle: An obstacle shall be understood to comprise a physical entity which is located within or which has an extension which extends into a field to be worked and which presence prevents working the field at the location of that obstacle.

Boundary polygon: A boundary polygon shall be understood to be a polygon which has a size and a shape which approximates the boundary of a field to be worked.

Obstacle polygon: An obstacle polygon shall be understood to be a polygon which has a size and a shape which approximates the boundary of an obstacle.

Headland: A headland shall be understood to be an area located immediately within the boundary of a field to be worked, or within a boundary polygon; or which surrounds an obstacle in close proximity thereof.

Mainland: A mainland shall be understood to be an area located within a field boundary or within a boundary polygon, excluding any area corresponding to headlands.

Safety offset area: A safety offset area is an area surrounding an obstacle, or an obstacle polygon, thereby rendering the effective size of an obstacle greater that the obstacle, or obstacle polygon itself. A safety offset area serves the purpose of creating a safety distance from an obstacle to a working vehicle or implement in order to avoid collision with that obstacle.

Work area: A work area shall be understood to mean the area comprised inside the boundary of a field to be worked, or an approximation thereof, and excluding any headland; and excluding any obstacles, or approximation of any obstacles including a safety offset area of one or more obstacles.

Working row: A working row shall be understood to mean a row located within a work area and which preferably is having a width corresponding to the effective working width of the soil working vehicle or implement.

Cost parameter: A cost parameter shall be understood to mean a parameter expressing a relative efficiency in following a specific path.

Optimized trajectory: An optimized trajectory shall be understood to mean that trajectory which, compared to other trajectories under investigation, is most efficient in terms of a cost parameter. An optimized trajectory needs may or may not be a globally optimized trajectory. In some instances an optimized trajectory merely expresses an intelligent and qualified suggestion for a best path to follow when working a field.

Now referring to the figures for the purpose of illustration the present invention, FIG. 1 shows an overhead plan view of a field 500 to be worked by an agricultural working vehicle or implement. The field comprises two possible entrances/exits A and B located at the boundary 2 of the field. Within the field a number of obstacles are present. These obstacles must be avoided when working the field. The obstacles being present in the field 500 shown in FIG. 1 include a pond C, a cluster of trees D and a high voltage mast E. Each of the obstacles is surrounded by a safety margin F. The safety margin serves the purpose of not getting too close to the obstacles when working the field, and is thereby intended for avoiding any hazardous situation relating to impact between the working vehicle and the obstacles.

Also illustrated in FIG. 1 is a working vehicle G in the form of a tractor towing a plough.

It is easily acknowledged that the field 500 with its obstacles C, D and E and its entrances/exits A and B illustrated in FIG. 1 allows for an almost indefinitely number of possible trajectories for working the whole field, and that the human brain is not in itself without any technological aid capable to immediately tell which working path or working trajectory will be most efficient.

FIG. 2 is a diagram which illustrates the working mode of one embodiment of the support system for determining a trajectory to be followed by an agricultural work vehicle according to the first aspect of the present invention.

FIG. 2 shows the support system 100 for determining a trajectory to be followed by an agricultural work vehicle. The support system comprises a mapping unit MU configured for receiving information I₁ in the form of coordinates relating to the boundaries of a field to be worked; and information I₂ in the form of coordinates relating to the boundaries of one or more obstacles within said field and to be avoided by said work vehicle; and information I₃ in the form of coordinates relating to the possible entrance(s)/exit(s) of a specific field to be worked.

The support system further comprises a capacity parameter unit CU configured for receiving information I₄ relating to one or more capacity parameters relating to said working vehicle.

The one or more capacity parameters may relate to effective working width of the work vehicle or the working implement, load of work vehicle as a function of distance travelled, fuel consumption as a function of distance travelled, truning radius of the work vehicle etc.

Based on the information I₁, I₂ and I₃ provided to said mapping unit MU and based on the information I₄ provided to said capacity parameter unit CU, a trajectory calculating unit TCU is calculating an optimized trajectory to be followed by said work vehicle. The calculated optimized work trajectory is displayed on the display M which also outlines the field itself

The calculation may be an analytical calculation or a numerical calculation.

EXAMPLES

The following example illustrates on embodiment of various aspects of the present invention.

Example 1

The following example discloses in detail one way of performing the mathematical operations necessary in the process of going from a field boundary to creating possible individual candidate trajectories and the step of assigning an efficiency parameter to each of those candidate trajectories so that the most efficient candidate trajectory can be chosen as the optimum trajectory when working that field with an agricultural working vehicle or implement.

The present example is based on the principle involving the following steps:

-   -   a) approximating the coordinates relating to the boundaries of         said field to be worked to a boundary polygon;     -   b) approximating the coordinates relating to the boundaries of         each said one or more obstacles, to respective obstacle         polygons;     -   c) defining one or more headlands located immediately within         said boundary polygon;     -   d) in respect of each obstacle polygon, defining one or more         headlands surrounding said obstacle polygon;     -   e) defining a work area which corresponds to the area within         said boundary polygon with the exclusion of the area         corresponding to any headlands and with the exclusion of the         area corresponding to any obstacle polygon;     -   f) in respect of the orientation of one or more sides of         headlands, define an array of parallel working rows located         within said work area;     -   g) in respect of one or more arrays of parallel working rows         defined in step f), define an array of possible continuous         driving paths by connecting separate entities, wherein said         separate entities is being either headlands, or parts of a         headland, and working rows, or parts of a working row; so as to         define possible continuous driving paths, wherein each driving         path is covering all headlands and all working rows;     -   h) in respect of each of more possible continuous driving paths         defined in step g), calculate an associated cost parameter, said         calculated cost parameter being representative of the efficiency         by following that specific continuous driving path;     -   i) select as the trajectory to be followed, that specific         continuous driving path exhibiting the highest efficiency.

Other principles may equally well work with the present invention in its various aspects.

In the calculation of the present example the following inputs are needed.

-   -   Defined Field Boundary     -   Defined Obstacle Boundary     -   Defined Field Gates     -   Vehicle working width     -   Vehicle turning radius     -   Specified number of headlands

Processing Steps

Field Definition

The field is described by the field boundary which is a polygon consisting of n points. In FIG. 3 the polygon P consists of 6 point (P₁, . . . ,P₆). The points of P are ordered such that they are in a clockwise orientation. P=([10,43],[48,86],[89,58],[83,18],[42,34],[21,16]). See FIG. 3.

Within the boundary there are a number of obstacles. The obstacles the obstacles are described by a boundary. This may be the physical edge of the obstacle or it may also include a “safety offset” to ensure working vehicles remain a safe distance away. In FIG. 4 the obstacles are described as polygons (O¹, O²) with points (O¹ ₁, . . . , O¹ ₃) and (O² ₁, . . . , O² ₃). The points of the obstacles are ordered such they are in an anti-clockwise orientation. O¹=([23,34],[21,39],[17,34]), and O²=([60,58],[53,54],[61,53]). See FIG. 4

A number of gates are defined for the field. These are entry/exit point for the field and are located on the field boundary. In this example there is one gate G¹[83,18].

The working width is the effective working width of the agricultural machine or implement. The turning radius is minimum radius the vehicle can turn. For a standard two axle vehicle with one axle steering it can be calculated by dividing the distance between the front and rear axles of the vehicle by the tangent of the maximum angle of the steering axle.

Creating the Headlands

The headlands are areas which encompass the field boundary and the surround the obstacle. These areas are used by the vehicle to more easily manoeuvre in the field. The number of headlands required to safely operate in a field is the integer greater than 2*turning radius divided working width. The headlands have an outer boundary and an inner boundary. For the first headland areas the outer boundary is the boundary of the field or the obstacle and the inner boundary plotted such that the area between the outer boundary and inner boundary has a width equal to the working width. For subsequent headlands, the outer boundary is the inner boundary of the previous headland.

To calculate the headland areas the boundary of the field and the boundary of each obstacle are expressed as a set consisting of 3 arrays {P, V, A}, where P is the array of corner points of the boundary, V is the array of vertices linking the corners of the boundary and A is the array of vectors at the apex of each boundary point.

V_(i) = P_(i + 1) − P_(i):i = 1  …  p − 1 V_(p) = P₁ − P_(p) ${\frac{A_{i} \cdot {- V_{i - 1}}}{{A_{i}}{V_{i - 1}}} = {{\cos \; \theta} = \frac{A_{i} \cdot V_{i}}{{A_{i}}{V_{i}}}}},{\frac{A_{i} \cdot \begin{bmatrix} V_{i,y} & {- V_{i,x}} \end{bmatrix}}{{A_{i}}{V_{i}}} < \frac{A_{i} \cdot \begin{bmatrix} {- V_{i,y}} & V_{i,x} \end{bmatrix}}{{A_{i}}{V_{i}}}}$ ${A_{i}} = \frac{1}{\sin \; \theta}$

This is illustrated in FIG. 5.

The constrain on A_(i) ensures that the A_(i) vector always points to the right of the V_(i) vector. See FIG. 5,

In FIG. 6 the P, V, and A arrays are labelled for the field boundary. In the example for the field boundary V=([38,43],[41,−28],[−6,−40],[−41,16],[−21,−18],[−11,27]) and A=([1.16,−0.20],[0.16,−1.32], [−1.08,−0.47],[−0.80,1.39], [−0.2,1.15],[0.40,1.66]).

To create the inner boundary, the corners of the outer boundary are projected along the apex vector, so that they maintain an equal perpendicular distance from the two vectors creating the corner. Therefore for a distance λ a new boundary can be created as a new set of point P′.

P′ _(i) =P _(i) +λ*A _(i) : i=1, . . . , p

V′ and A′ can then be created using the above equations.

There are 3 cases which must be monitored when creating the new boundary. The 3 cases are a self-corner interception, a self-edge interception and a 2 polygon interception.

Case 1:

The self-corner interception occurs when two adjacent apex vectors intersect, resulting in V′ to have a zero length and P_(i)=P_(i+1). Therefore for each P there is a value, α, where this happens.

P_(i)^(′) = P_(i) + α_(i) * A_(i) = P_(i + 1) + α_(i) * A_(i + 1) = P_(i + 1)^(′):i = 1  …  p − 1 P₁^(′) = P₁ + α_(p) * A₁ = P_(p) + α_(p) * A_(p) = P_(p)^(′) $\alpha_{i} = {{\frac{P_{i + 1} - P}{A_{i} - A_{i + 1}}\text{:}i} = {{1\mspace{14mu} \ldots \mspace{14mu} p} - 1}}$ $\alpha_{p} = \frac{P_{1} - P_{p}}{A_{p} - A_{1}}$ α_(n) = min {α_(i)}:α_(i) > 0, i = 1  …  p

If a self-corner interception occurs P′_(i) is removed from P′, and V′ and A′ are recalculated.

For the example of the field boundary the α=[38.34,36.76,40.9,36.89,160.54,14.89]. Therefore α_(n)=14.89. Since O1 and O2 are both triangles with the points arrange in an anti-clockwise orientation it is impossible a self-corner interception to occur.

Case 2:

The self-edge interception occurs when an apex vector intersects a vertex between two points.

P′ _(i) =P′ _(j) +b*V′ _(j) : i,j=1, . . . p; i≠j, 0<b<1

Therefore for each pair of point P_(i) and P_(j) there is a value, β_(i,j), where this occurs.

${\beta_{ij} = {{\frac{P_{j + 1} - P_{j} - P_{i}}{A_{i} + A_{j} - A_{j + 1}}\text{:}i} = {1\mspace{14mu} \ldots \mspace{14mu} p}}},{j = {{1\mspace{14mu} \ldots \mspace{14mu} p} - 1}},{i \neq j},{i \neq {j + 1}}$ $\beta_{ip} = {{\frac{P_{1} - P_{p} - P_{i}}{A_{i} + A_{p} - A_{1}}\text{:}i} = {{1\mspace{14mu} \ldots \mspace{14mu} p} - 1}}$ β_(n m) = min {min {β_(ij)}_(j)}_(i):i = 1  …  p, j = 1  …  p, β_(ij) > 0

If a self-edge interaction occurs then P′ is split into two subsets, ¹P′ and ²P′ and V′ and A′ are recalculated.

P′ _(i) =P _(i)+β_(nm) *A _(i) : i=1 . . . p

¹ P′={P′ ₁ , . . . , P′ _(n) , P′ _(m+1) , . . . , P′ _(p)}, ² P′={P′ _(n) , . . . , P′ _(m)} if n<m

¹ P′={P′ ₁ , . . . , P′ _(m) , P′ _(n) , . . . , P′ _(p)}, ² P′={P′ _(m+1) , . . . , P′ _(n)} if n>m

For the example field β_(ij) is describing in the Table 1 below.

TABLE 1 j\i 1 2 3 4 5 6 1 — 38.24 32.79 −4.22 16.76 — 2 — — 29.96 23.26 19.23 38.18 3 23.21 — — 41.13 39.04 43.31 4 28.25 21.46 — — 46.61 47.95 5 18.55 22.46 36.84 — — 69.48 6 14.50 28.13 47.40 35.48 — —

Therefore β_(nm)=14.50, n=1, m=6. Again since O1 and O2 are both triangles and therefore only have 3 points it is impossible a self-edge interception to occur.

Case 3:

The 2 polygon interception occurs when two polygon sets, such as a field boundary and an obstacle boundary intercept. NB if two polygons are created due to case 2 these two polygon it is impossible that these two polygons can intercept.

${{{}_{}^{}{}_{}^{}} = {{\frac{{{}_{}^{}{}_{}^{}} - {{}_{}^{}{}_{j + 1}^{}} - {{}_{}^{}{}_{}^{}}}{{{}_{}^{}{}_{}^{}} + {{}_{}^{}{}_{}^{}} - {{}_{}^{}{}_{{j + 1}\;}^{}}}\text{:}i} = {1\mspace{14mu} \ldots \mspace{14mu} {\,^{g}p}}}},{j = {{1\mspace{14mu} \ldots \mspace{14mu} {\,^{h}p}} - 1}},g,{h = 1},{\ldots \mspace{14mu} N},{g \neq h}$

Where N, is the number of active sets describing polygons.

_(n m) = min {min {min {min {}_(j)}_(i)}_(h)}_(g)

If a 2 polygon interception occurs the two polygons become merged together to form a new polygon, with the original two polygons being removed.

^(g) P′ _(i)=^(g) P _(i)+^(kl)γ_(nm)*^(g) A _(i) : i=1 . . . ^(g) p, g=1, . . . N

P={ ^(k) P ₁, . . . , ^(k) P _(n), . . . , ^(l) P _(m+1), . . . ^(l) P _(h) _(p) , ^(l) P ₁, . . . , ^(l) P _(m), . . . , ^(k) P _(n), . . . , ^(k) P _(g) _(p) }

For the example with the field with the field boundary being ¹P, and the obstacles O1 and O2 being ²P and ³P respectivly then ^(gh)γ_(ij) is described by Table 2

TABLE 2 1 2 3 h\g j\i 1 2 3 4 5 6 1 2 3 1 2 3 1 1 2219 5.46 — — 17.13 525.1 2 31.77 — 160 13.56 106.3 — 3 32.19 — — — — 13.20 4 40.43 124.6 — 76.56 14.05 — 5 23.38 — — 125.2 10.02 — 6 — — 6.76 70.31 15.43 — 2 1 — — — — 4.54 — — 123.4 162.5 2 5.22 — — — — — — — — 3 — — — — — 0.93 — — — 3 1 — 6.09 — — — — — — — 2 8.56 — — — — — 8.58 15.10 — 3 — — 11.17 — — — — — —

Therefore ^(kl)γ_(nm)=0.93, k=1,1=2, n=6, m=3.

To create the inner boundary of the headlands for a field boundary, with or without in field objects, an iterative algorithm is used. The algorithm limits the accumatled distance moved to be no larger than the sort after working width.

W=working width

  While (W>0)    Calculate α_(n), β_(ij), and ^(gh)γ_(ij), where approirate    λ = min{α_(n),β_(nm),^(kl)γ_(nm),W}    Calculate P′,V′,A′ using λ    W = W −λ   End while

For the example, if a working width of 3 is used, the iteration of the loop is,

λ=min {α_(n),β_(nm),^(kl)γ_(nm) , W}=min {14.69, 14.50, 0.93, 3}=0.93

This means that the first interception to occur is the 2 polygon interception between the field boundary and the first obstacle. The field boundary and the first obstacle then become merged together and the process continues. See FIG. 7.

At the next iteration of the loop, P is now ([24.38,33.07],[21.27,40.84],[15.06,33.07],[11.08,42.82],[48.15,84.76],[87.99,57.56],[82.25,19.30],[41.82,35.07],[21.38,17.55],[15.06,33.07]) and O₂ is now ([60.66,59.45],[50.10,53.42],[62.17,51.91]).

The new interceptions are as follows

α=[−,−,4.53,37.25,20.58,66.52,34.19,5.83,915.86]. Therefore α_(n)=4.53

β_(ij) j\i 1 2 3 4 5 6 7 8 9 10 1 — — — — — — — 3.61 — — 2 — — — 4.29 — — — — — — 3 — — — — — — — — — — 4 2219 — — — — — — — — — 5 30.84 — — — — — 22.36 — 37.25 — 6 31.27 — 35.22 — — — — — 35.22 — 7 39.51 — 46.73 — — — — — 46.73 — 8 22.45 — 34.19 14.76 — — — — — — 9 — — — — — — — — — — 10 — — — — — — — — — —

^(gh)γ_(ij) 1 2 h\g j\i 1 2 3 1 2 3 4 5 6 7 8 9 10 1 1 — — — — 5.16 — — — — — 2 7.65 — 9.78 7.63 — — — — — — 3 — — — — — 10.24 — — — — 2 1 — 122.50 161.5 2 — — — 3 — — — 4 — 16.20 524.2 5 12.63 105.3 — 6 — — 12.27 7 75.63 13.12 — 8 124.2 9.09 — 9 69.38 14.51 — 10 — 127.7 190.2

λ=min {α_(n), β_(nm), ^(kl)γ_(nm) , W}=min {4.53, 4.29, 5.16, 2.07}=2.07

Since W is now smaller than the other parameters there is no need to do a third iteration, as W=0 in the next iteration. Therefore the resultant polygons are 1[27.43,31], [21.87,44.89], [15.64,37.1], [13.48,42.41], [48.49,82.03], [85.75,56.58], [80.59,22.16], [41.41,37.45], [22.21,20.99], [18.13,31], [62.12,62.67], [43.70,52.14], [64.76,49.51]}, See FIG. 8.

If multiple headland passes are required then the resultant polygons are used as the outer boundaries of the next set of headlands. This method will be know as movePolygonSet and it will need a set of polygons and a distance to generate a new set of polygons, such that.

movePolygonSet({¹ P, . . . , ^(N) P}, W)⇒{¹ P′, . . . , ^(M) P′}

It shoud be noted that in case any obstacle is not from the outset defined by a boundary being a polygon, that obstacle is approximated to an obstacle polygon and the headland around that obstacle is defined relative to that obstacle polygon.

Working Rows

After all of the headlands have been calculated the area remaining inside of the field boundary and outside of any remaining obstacles is considered the working area. See FIG. 9.

For the example one of the obstacles became integrated with the headland while the other remained separate. The outer boundary of the working area is P=[27.43,31],[21.87,44.89],[15.64,37.1],[13.48,42.41],[48.49,82.03],[85.75,56.58],[80.59,22.16],[41.41,37.45],[22.21,20.99],[18.13,31]} and the hole created by the remaining obstacle is H¹={[62.12,62.67],[43.70,52.14],[64.76,49.51]}

The working rows are plotted as parallel rectangles across the working area, which have a width equal to the working width of the vehicle. The working rows are parallel to the driving direction of the field. Theoretically this could be any direction, which would give an infinite set of possible directions. However to simplify the calculation a limited set of directions parallel to all the edges of the remaining work area (both from the inside and outside) is used.

For the example the set of possible driving direction D={[−0.38,0.93], [−0.62,−0.78], [−0.37,0.93], [0.66,0.75], [0.83,−0.56], [−0.15,−0.99], [−0.93,0.36], [−0.76,−0.65], [−0.38,0.93], [1,0], [−0.87,−0.5], [0.99,−0.12], [−0.2,0.98]}.

The working rows are calculated between two parallel lines, L^(i) and R^(i). These are the bounding left and right sides, respectively, of the working row. L^(i) is defined as a straight line between the points L^(i) ₁ and L^(i) ₂, and R^(i) is defined as a straight line between R^(i) ₁ and R^(i) ₂. The first left side L¹ starts at the furthest most left point of the boundary, with respect to the driving direction, and extends from the furthest most back point, L¹ ₁, to the furthest most forward point, L¹ ₂, with respect to the driving direction, of the boundary. The first right side R¹ is the transposition of L¹ a distance equal to the working width to the right, with respect to the driving direction.

α₁ = min {DD ∘ P_(j)}_(j) α₂ = max {DD ∘ P_(j)}_(j) β = min {DD^(⊥) ∘ P_(j)}_(j) L₁¹ = α₁ * DD + β * DD^(⊥) L₂¹ = α₂ * DD + β * DD^(⊥) R₁¹ = α₁ * DD + (β + W) * DD^(⊥) R₂¹ = α₂ * DD + (β + W) * DD^(⊥) ${L_{1}^{i} = {{{\alpha_{1}*{DD}} + {\left( {{\left( {i - 1} \right)*W} + \beta} \right)*{DD}^{\bot}L_{2}^{i}}} = {{{\alpha_{2}*{DD}} + {\left( {{\left( {i - 1} \right)*W} + \beta} \right)*{DD}^{\bot}R_{1}^{i}}} = {{{\alpha_{1}*{DD}} + {\left( {\beta + {i*W}} \right)*{DD}^{\bot}R_{2\;}^{i}}} = {{\alpha_{2}*{DD}} + {\left( {\beta + {i*W}} \right)*{DD}^{\bot}}}}}}},{1 \leq i \leq \left\lceil \frac{\max \left\{ {{DD}^{\bot} \circ P_{j}} \right\}_{j}}{W} \right\rceil}$

The maximum area of the each working row, MWR, is then defined as a polygon such that MWR^(i)=[L^(i) ₁, L^(i) ₂, R^(i) ₂, R^(i) ₁]. The area covered by each row, RCA, is then intersection between the maximum area of each working row, MWR, and the complement of any holes in the work area, H, and the outer boundary of the work area, P. If P is not convex and there are no holes in the work area then the intersection will result in only one polygon. However if these conditions are not met then it may be the case that the intersection produces more than more polygon.

(P/H)∩MWR=RCA

For each resultant intersection the working row, WR, is then plotted as such;

γ₁=min {DD∘(^(i) RCA ^(k) _(j) −L ^(i) ₁)}_(j)

γ₂=max {DD∘(^(i) RCA ^(k) _(j) −L ^(i) ₁)}_(j)

^(i) WR ^(k) ₁ =L ^(i) ₁+γ₁ *DD

^(i) WR ^(k) ₂ =L ^(i) ₁+γ₂ *DD

^(i) WR ^(k) ₃ =L ^(i) ₁+γ₂ *DD+W*DD ¹

^(i) WR ^(k) ₄ =L ^(i) ₁+γ₁ *DD+W*DD ¹

In the example, for the first driving direction, DD=D₁=[−0.38, 0.93], therefore α₁=−9.35, α₂=58.15, and β=28.26. The four points of MWR¹ as follows, and shown in FIG. 10.

L ¹ ₁=−9.35*[−0.38,0.93]+28.26*[0.93,0.38]=[29.72,1.81]

L ¹ ₂=58.15*[−0.38,0.93]+28.26*[0.93,0.38]=[4.65,64.49]

R ¹ ₁=−9.35*[−0.38,0.93]+(28.26+3)*[0.93,0.38]=[32.5,2.93]

R ¹ ₂=58.15*[−0.38,0.93]+(28.26+3)*[0.93,0.38]=[7.43,65.5]

Therefore MWR¹={[29.72, 1.81], [4.65,64.49], [7.43,65.5], [32.5,2.93]}. The intersection results in two polygons, see FIG. 11, ¹RCA¹={[17.77, 39.76], [15.64, 37.1], [13.48, 42.41], [15.71, 44.93]}, ¹RCA²={[24.49, 22.95], [22.21, 20.98], [18.13, 31], [21.27, 31]}.

Finally the two working rows are, ¹WR¹={[15.61, 37.09], [12.92, 43.81], [15.7, 44.93], [18.39, 38.2]} and ¹WR²={[22.07, 20.93], [18.06, 30.97], [20.84, 32.09], [24.86, 22.05]}, see FIG. 12.

FIG. 13 shows all of the working rows generated across the field in respect of one possible orientation of working rows.

Creation of Possible Driving Paths

So that a vehicle can navigate the rows and the headlands, driven paths need to be generated for both the headlands and the working rows. The driven paths are plotted down the middle of the defined working rows and headlands. However an offset, IO=[IO_(x),IO_(y)], can also be included between the vehicle centre and the implement centre in order for the implements centre to maintain a central position on the working row, see FIG. 14.

For each working row WR there are two, DR₊ and DR⁻, one in same direction as the driving direction and one in the opposite direction as the driving direction. Each DR starts at SDR and ends at EDR.

$\mspace{20mu} {\theta = {\left( \frac{{DD}_{x}}{{DD}_{x}} \right)*{\cos^{- 1}\left( \frac{{DD}_{y}}{{DD}} \right)}}}$ $\mspace{20mu} {{{}_{}^{}{}_{}^{}} = {{L_{1}^{i} + {\gamma_{1}*{DD}} + {0.5*W*{DD}^{\bot}} - {{IO}*\begin{bmatrix} {\cos (\theta)} & {- {\sin (\theta)}} \\ {\sin (\theta)} & {\cos (\theta)} \end{bmatrix}\mspace{20mu} {{}_{}^{}{}_{}^{}}}} = {{L_{1}^{i} + {\gamma_{2}*{DD}} + {0.5*W*{DD}^{\bot}} - {{IO}*\begin{bmatrix} {\cos (\theta)} & {- {\sin (\theta)}} \\ {\sin (\theta)} & {\cos (\theta)} \end{bmatrix}\mspace{20mu} {{}_{}^{}{}_{}^{}}}} = {{\left\lbrack {{{}_{}^{}{}_{}^{}},{{}_{}^{}{}_{}^{}}} \right\rbrack {{}_{}^{}{}_{}^{}}} = {{L_{1}^{i} + {\gamma_{2}*{DD}} + {0.5*W*{DD}^{\bot}} - {{IO}*\begin{bmatrix} {\cos \left( {\theta + \pi} \right)} & {- {\sin \left( {\theta + \pi} \right)}} \\ {\sin \left( {\theta + \pi} \right)} & {\cos \left( {\theta + \pi} \right)} \end{bmatrix}{{}_{}^{}{}_{}^{}}}} = {{L_{1}^{i} + {\gamma_{1}*{DD}} + {0.5*W*{DD}^{\bot}} - {{IO}*\begin{bmatrix} {\cos \left( {\theta + \pi} \right)} & {- {\sin \left( {\theta + \pi} \right)}} \\ {\sin \left( {\theta + \pi} \right)} & {\cos \left( {\theta + \pi} \right)} \end{bmatrix}\mspace{20mu} {{}_{}^{}{}_{}^{}}}} = \left\lbrack {{{}_{}^{}{}_{}^{}},{{}_{}^{}{}_{}^{}}} \right\rbrack}}}}}}$

In the example the vehicle has an offset IO=[1, −1], and taking the example of the first WR, ¹WR¹, the two DR can be found as;

$\begin{matrix} {\mspace{20mu} {\theta = {{\left( \frac{- 0.38}{0.38} \right)*{\cos^{- 1}\left( \frac{0.93}{1} \right)}} = {- 0.376}}}} & \; \\ {{{}_{}^{}{}_{}^{}} = {\begin{bmatrix} 29.72 & 1.81 \end{bmatrix} + {37.99*\begin{bmatrix} {- 0.38} & 0.93 \end{bmatrix}} + {0.5*3*{\quad{{\begin{bmatrix} 0.93 & 0.38 \end{bmatrix} + {\begin{bmatrix} 1 & {- 1} \end{bmatrix}*\begin{bmatrix} 0.93 & 0.37 \\ {- 0.37} & 0.93 \end{bmatrix}}} = \begin{bmatrix} 15.70 & 38.21 \end{bmatrix}}}}}} & \; \\ {{{}_{}^{}{}_{}^{}} = {\begin{bmatrix} 29.72 & 1.81 \end{bmatrix} + {45.23*\begin{bmatrix} {- 0.38} & 0.93 \end{bmatrix}} + {0.5*3*{\quad{{\begin{bmatrix} 0.93 & 0.38 \end{bmatrix} + {\begin{bmatrix} 1 & {- 1} \end{bmatrix}*\begin{bmatrix} 0.93 & 0.37 \\ {- 0.37} & 0.93 \end{bmatrix}}} = \begin{bmatrix} 13.01 & 44.93 \end{bmatrix}}}}}} & \; \\ {{{}_{}^{}{}_{}^{}} = {\begin{bmatrix} 29.72 & 1.81 \end{bmatrix} + {45.23*\begin{bmatrix} {- 0.38} & 0.93 \end{bmatrix}} + {0.5*3*{\quad{{\begin{bmatrix} 0.93 & 0.38 \end{bmatrix} + {\begin{bmatrix} 1 & {- 1} \end{bmatrix}*\begin{bmatrix} {- 0.93} & {- 0.37} \\ 0.37 & {- 0.93} \end{bmatrix}}} = \begin{bmatrix} 15.61 & 43.81 \end{bmatrix}}}}}} & \; \\ {{{}_{}^{}{}_{}^{}} = {\begin{bmatrix} 29.72 & 1.81 \end{bmatrix} + {37.99*\begin{bmatrix} {- 0.38} & 0.93 \end{bmatrix}} + {0.5*3*{\quad{{\begin{bmatrix} 0.93 & 0.38 \end{bmatrix} + {\left\lbrack \begin{matrix} 1 & {- 1} \end{matrix} \right\rbrack*\begin{bmatrix} {- 0.93} & {- 0.37} \\ 0.37 & {- 0.93} \end{bmatrix}}} = \left\lbrack \begin{matrix} 18.30 & 37.09 \end{matrix} \right\rbrack}}}}} & \; \end{matrix}$

See FIG. 15.

Driven paths are also calculated for the headlands, each headland has two driven paths with one in a clockwise orientation and the other in an anti-clockwise orientation. The headland driven paths must also account for any implement offset are described above. The driven paths of the headlands are calculated using the centre of each headland which is in turn calculated from the inner boundaries. To find the centre of a headland the simplified version of the movePolygonSet method is used. The method if called movePolygonSetBack, the method requires a single polygon and a distance to move. As in the movePolygonSet method the polygon, P, is defined as a number of points and V and A can be derived from P, however the constraint placed on A is different such that A_(i) is always to the left of V_(i).

V_(i) = P_(i + 1) − P_(i):i = 1  …  p − 1 V_(p) = P₁ − P_(p) ${\frac{A_{i} \cdot {- V_{i - 1}}}{{A_{i}}{V_{i - 1}}} = {{\cos \; \theta} = \frac{A_{i} \cdot V_{i}}{{A_{i}}{V_{i}}}}},{\frac{A_{i} \cdot \begin{bmatrix} V_{i,y} & {- V_{i,x}} \end{bmatrix}}{{A_{i}}{V_{i}}} > \frac{A_{i} \cdot \begin{bmatrix} {- V_{i,y}} & V_{i,x} \end{bmatrix}}{{A_{i}}{V_{i}}}}$ ${A_{i}} = \frac{1}{\sin \; \theta}$ P_(i)^(′) = P_(i) + λ * A_(i):i = 1, …  , p

The iterative process it also simplified as there is only one polygon, such that.

  While (W>0)    Calculate α_(n), where approirate    λ = min{a_(n),W}    Calculate P′,V′,A′ using λ    W = W −λ   End while

For the example of the first headland where P={[27.43,31], [21.87,44.89], [15.64,37.1], [13.48,42.41], [48.49,82.03], [85.75,56.58], [80.59,22.16], [41.41,37.45], [22.21,20.99], [18.13,31]} and W=1.5. This creates α=[−,−,2.46,35.17,29.88,18.52,64.45,32.12,3.76,913.79], and since λ=min {α_(n), W}, therefore λ=1.5 and resultant polygon is P=}[25.22,32.5], [21.44,41.95], [15.22,3417], [11.74,42.70], [48.24,84.01], [87.38,57.29], [81.79,20.08], [41.71,35.72], [21.60,18.49], [15.90,32.50]}.

Since the headlands need two driven paths, one in each direction, these can be derived from P¹, the resultant of the movePolgonSetBack method, and P², which is the reversal P¹. The offset, IO, is again used to create the straight driven path, SD^(i), for each direction around the headland. SD^(i) has twice as many points as the polygon, P^(J), it is derived from such that.

P^(j) = {P₁^(j), …  , P_(p)^(j)}, SD^(j) = {SD₁^(j), …  , SD_(2 * p)^(j)} V_(i) = P_(i + 1) − P_(i):i = 1  …  p − 1 V_(p) = P₁ − P_(p) $\theta_{i} = {\left( \frac{V_{i,x}}{V_{i,x}} \right)*{\cos^{- 1}\left( \frac{V_{i,y}}{V_{i}} \right)}}$ ${{SD}_{{2*i} - 1}^{j} = {{P_{i}^{j} - {{IO}*\begin{bmatrix} {\cos \left( \theta_{i} \right)} & {- {\sin \left( \theta_{i} \right)}} \\ {\sin \left( \theta_{i} \right)} & {\cos \left( \theta_{i} \right)} \end{bmatrix}\text{:}i}} = 1}},\ldots \mspace{14mu},p$ ${{SD}_{2*i}^{j} = {{P_{i + 1}^{j} - {{IO}*\begin{bmatrix} {\cos \left( \theta_{i} \right)} & {- {\sin \left( \theta_{i} \right)}} \\ {\sin \left( \theta_{i} \right)} & {\cos \left( \theta_{i} \right)} \end{bmatrix}\text{:}i}} = 1}},\ldots \mspace{14mu},{p - 1}$ ${SD}_{2*p}^{j} = {P_{1}^{j} - {{IO}*\begin{bmatrix} {\cos \left( \theta_{i} \right)} & {- {\sin \left( \theta_{i} \right)}} \\ {\sin \left( \theta_{i} \right)} & {\cos \left( \theta_{i} \right)} \end{bmatrix}}}$

For the example for P¹, θ=[−0.38,−2.47,−0.39,0.72,2.17,−2.99,−1.2,−2.28,−0.39,1.57] and SD¹={[23.92,33.061,[20.14,42.51,[21.59,40.541,[15.37,32.771,[13.91,34.721,[10.44,43.251,[11.65,44.1 2], [48.16,85.43],[49.64,84.28],[88.77,57.55],[88.22,56.151,[82.64,18.94],[80.5,19.51],[40.41,35.16],[41.6,34.31],[21.5,17.08],[20.3,19.04],[14.59,33.05],[16.9,33.5], [26.22,33.5]}.

A third method is now introduced called the movePolygonSetForward method. This is exactly the same as the movePolygonSetBack method taking in a polygon and a distance and returning another polygon, however the constraint on A is such that A_(i) is always to the right of V_(i).

${\frac{A_{i} \cdot {- V_{i - 1}}}{{A_{i}}{V_{i - 1}}} = {{\cos \; \theta} = \frac{A_{i} \cdot V_{i}}{{A_{i}}{V_{i}}}}},{\frac{A_{i} \cdot \begin{bmatrix} V_{i,y} & {- V_{i,x}} \end{bmatrix}}{{A_{i}}{V_{i}}} < \frac{A_{i} \cdot \begin{bmatrix} {- V_{i,y}} & V_{i,x} \end{bmatrix}}{{A_{i}}{V_{i}}}}$

In order to make the straight driven line drivable by the vehicle, the vehicles minimum turning radius must be taken into account. Firstly the SD must be simplified to remove any corners too sharp for the vehicle. This is done by applying the movePolygonSetBack method and then the movePolygonSetForward method using the minimum turning radius (mtr) in succession until the methods create changes.

P=movePolygonSetBack(SD,mtr)

While true

  P = movePolygonSetBack(SD,mtr)   While (true)    P′ = movePolygonSetForward(P,2*mtr)    P″ = movePolygonSetBack(P′,2*mtr)    if (P==P″)    then Break while    else P=P″   End while

CS¹=P

CS²=movePolygonSetForward(P,2*mtr)

CS³=P′

For the example the vehicles minimum turning radius (mtr) is 2 and as previously stated SD¹={[23.92,33.06], [20.14,42.5], [21.59,40.54], [15.37,32.77], [13.91,34.72], [10.44,43.25], [11.65,44.12], [48.16,85.43], [49.64,84.28], [88.77,57.55], [88.22,56.15], [82.64,18.94], [80.5,19.51], [40.41,35.16], [41.6,34.31], [21.5,17.08], [20.3,19.04], [14.59,33.05], [16.9,33.5], [26.22,33.5]}. Using the movePolygonSetBack(SD¹,2) generates P=}[26.69,31.50], [21.72,43.91], [15.49,36.12], [12.88,42.53], [12.99,42.61], [48.41,82.69], [48.45,82.66], [86.32,56.80], [86.27,56.67], [80.99,21.46], [26.00,42.92], [38.35,34.16], [22.00,20.15], [17.38,31.50]} and then using movePolygonSetForward(P,4), P′={[20.78,35.5], [20.56,36.05], [14.37,28.31], [7.99,43.97], [10.31,45.61], [47.91,88.16], [50.82,85.89], [91.21,58.31], [90.16,55.63], [84.2,15.92], [42.29,32.28], [20.4,13.51], [11.44,35.5]}. Finally using movePolygonSetBack(P′,4) generates P″={[26.69,31.5], [21.73,43.91], [15.5,36.13], [12.89,42.54], [13,42.62], [48.41,82.69], [48.46,82.66], [86.32,56.8], [86.27,56.67], [80.99,21.47], [41.51,36.87], [22.01,20.16], [17.38,31.5]}.

As can be seen P″ is not the same as P so the loop must be restated with P=P″, d movePolygonSetForward(P″,4) generates P′={[20.78,35.5], [20.56,36.05], [14.37,28.31], [7.99,43.97], [10.31,45.61], [47.91,88.16], [50.82,85.89], [91.21,58.31], [90.16,55.63], [84.2,15.92], [42.29,32.28], [20.4,13.51], [11.44,35.5]} and movePolygonSetBack(P′,4) generates P″={[26.69,31.5], [21.73,43.91], [15.5,36.13], [12.89,42.54], [13,42.62], [48.41,82.69], [48.46,82.66], [86.32,56.8], [86.27,56.67], [80.99,21.47], [41.51,36.87], [22.01,20.16], [17.38,31.5]}.

Now it can be seen that P″=P so the loop can be broken and CS¹={[26.69,31.5], [21.73,43.91], [15.5,36.13], [12.89,42.54], [13,42.62], [48.41,82.69], [48.46,82.66], [86.32,56.8], [86.27,56.67], [80.99,21.47], [41.51,36.87], [22.01,20.16], [17.38,31.5]}, CS²={[23.74,33.5], [21.15,39.98], [14.93,32.22], [10.44,43.25], [11.65,44.12], [48.16,85.43], [49.64,84.28], [88.77,57.55], [88.22,56.15], [82.6,18.69], [41.9,34.57], [21.2,16.83], [14.41,33.5]} and CS³={[20.78,35.5], [20.56,36.05], [14.37,28.31], [7.99,43.97], [10.31,45.61], [47.91,88.16], [50.82,85.89], [91.21,58.31], [90.16,55.63], [84.2,15.92], [42.29,32.28], [20.4,13.51], [11.44,35.5]}.

The driven path of the headland is built as a sequence of straight lines and of arced lines. The straight lines are defined by a start point, sp_(i), a start direction, sd_(i), a and length, l_(i), whereas the arced lines have a define centre of rotation, cr_(i). The centre of rotation of the straight line can also be considered as infinitely far away from the start point in a direction perpendicular to the start direction.

FIG. 16 shows an example of CS¹, CS², and CS³ to define their relationship. The straight lines of the driven path are defined as parallel to the lines in CS¹. The corners of CS² and CS³ are then used as the centres of the arced lines to link together the straight lines.

FIG. 17 shows an example of how the driven path is constructed.

For the example field CS¹, CS², and CS³ have already been calculated, therefore Table 3 below describes the sequence of straight lines and arced lines, the example of the driven path is shown in FIG. 18.

TABLE 3 Start direction Centre of Rotation i Start point (sp_(i)) (sd_(i)) Length (l_(i)) (cr_(i)) 1 [22.64, 36.24] [−0.37, 0.93] 0.60 ~ 2 [22.42, 36.80] [−0.37, 0.93] 4.17 [20.56, 36.05] 3 [19.00, 37.30] [−0.62, −0.78] 3.11 ~ 4 [17.06, 34.88] [−0.62, −0.78] 4.16 [15.50, 36.13] 5 [13.65, 35.37] [−0.38, 0.93] 6.92 ~ 6 [11.04, 41.78] [−0.38, 0.93] 2.36 [12.89, 42.54] 7 [11.48, 43.96] [0.71, 0.70] 0.33 ~ 8 [11.71, 44.19] [0.71, 0.70] 0.14 [10.31, 45.61] 9 [11.81, 44.29] [0.66, 0.75] 53.02 ~ 10 [46.92, 84.02] [0.66, 0.75] 2.95 [48.41, 82.69] 11 [49.59, 84.31] [0.81, −0.59] 0.07 ~ 12 [49.64, 84.27] [0.81, −0.59] 0.05 [50.82, 85.89] 13 [49.69, 84.24] [0.83, −0.56] 45.73 ~ 14 [87.45, 58.45] [0.83, −0.56] 2.38 [86.32, 56.80] 15 [88.28, 56.37] [−0.21, −0.98] 0.32 ~ 16 [88.21, 56.06] [−0.21, −0.98] 0.13 [90.16, 55.63] 17 [88.18, 55.93] [−0.15, −0.99] 35.15 ~ 18 [82.97, 21.17] [−0.15, −0.99] 3.59 [80.99, 21.47] 19 [80.27, 19.60] [−0.93, 0.36] 39.98 ~ 20 [43.02, 34.14] [−0.93, 0.36] 2.16 [42.29, 32.28] 21 [40.99, 33.79] [−0.76, −0.65] 23.29 ~ 22 [23.31, 18.64] [−0.76, −0.65] 3.79 [22.01, 20.16] 23 [20.15, 19.40] [−0.38, 0.93] 12.25 ~ 24 [15.53, 30.75] [−0.38, 0.93] 3.92 [17.38, 31.50] 25 [17.38, 33.50] [1.00, 0.00] 3.40 ~ 26 [20.78, 33.50] [1.00, 0.00] 3.90 [20.78, 35.50]

Joining Driving Paths

To be able to plot a continual path for a vehicle to negotiate all of the headlands and working rows, connections are needed between the separate entities. Connections are created from working row driven path ends (EDR) to the driven paths of the headlands, and from the driven paths to the headland to working row driven path starts (SDR).

There are three types of connections which are used to connect a point to a path, and each connection type depends on whether it is connecting to a part of the driven path that is either: a straight line, an arced line in the same direction as the turn from the point, or an arced line in the opposite direction to the turn from the point.

The first type of connection involves moving forward from the point in the specified direction and then making a single turn to join the other driven path, see FIG. 19.

To calculate the centre of the single turn a line is plotted parallel to the specified direction at an offset of the turning radius perpendicular to the specified direction in the direction of the turn.

The centre of the single turn is defined as the intercept between this and a second line relating to the driven path. When joining the part of the path that is straight. In FIG. 19(a)) second line is plotted parallel to the driven path at an offset of the turning radius perpendicular to the driven path in the direction of the turn. When joining the part of the path that is an arced line in the same direction (FIG. 19(b)) the second line is in fact a point corresponding to the centre of rotation of the arced line. When joining the part of the path that is an arced line in the opposite direction (FIG. 19(c)) the second line is an arced line with the same centre as the driven path arced line, but with a radius which is twice as large.

The second type of connection involves calculating two turns, in opposite directions, to join a point to the other driven path, see FIG. 20.

The centre of the first is set at a distance of equal to the turning radius away from the point perpendicular to the specified direction in the direction of the first turn. The second turn is then in the opposite direction as the direction of the first turn and it's centre is calculated as the intercept of a circle with the same centre as the first turn but twice the radius and a second line. When joining the part of the path that is straight FIG. 20(a)) the second line is a line plotted parallel to the driven path at an offset of the turning radius perpendicular to the driven path in the direction of the second turn. When joining the part of the path that is an arced line in the same direction as the first turn (FIG. 20(b)) the second line is an arced line with the same centre as the driven path arced line, but with a radius which is twice as large. When joining the part of the path that is an arced line in the opposite direction as the first turn (FIG. 20(c)) the second line is in fact a point corresponding to the centre of rotation of the arced line.

The third type of connection is very similar to the first type of connection however the first straight line is allow to go in the opposite direction of the specified direction, i.e. the vehicle reverses.

The third type of connection is deprioritised, as reversing in the field can cause additional problems, such as taking more time or causing damage, therefore if a type 1 connection or type 2 connection can be made between a working row driven path and a headland then a type 3 connection is not attempted.

Described earlier, ¹EDR¹ ₊=[13.01 44.93], is an exit from a working row driven path which needs to join a headland driven path. Using the headland driven path also described earlier it is possible to make three connections between the working row driven path and the headland driven path, see FIG. 21(a)-(c). FIG. 21(a) is a type 1 connection, while FIGS. 21(b) and 21(c) are type 2 connections.

The three paths are full described in the Table 4 below.

TABLE 4 Start direction Centre of Rotation i Start point (sp_(i)) (sd_(i)) Length (l_(i)) (cr_(i)) a 1 [13.01, 44.93] [−0.37, 0.93] 1.77 ~ 2 [12.36, 46.57] [−0.37, 0.93] 10.36 [10.50, 45.83] b 1 [13.01, 44.93] [−0.37, 0.93] 1.08 [14.87, 45.67] 2 [12.90, 45.99] [0.16, 0.99] 11.44 [10.92, 46.31] c 1 [13.01, 44.93] [−0.37, 0.93] 3.34 [14.87, 45.67] 2 [14.31, 47.59] [0.96, 0.28] 1.02 [13.76, 49.51]

The connections from the headland driven paths to the working row driven paths starts are calculated in exactly the same way however the specified direction and the headland driven paths are first reversed, the connections are then calculated and finally the connections are reversed.

Another working row is defined at a distance of two times the working width, in the direction perpendicular the driving direction, from the originally defined working row. It has two driven paths, as explained earlier, with one of its driven paths beginning at ³SDR⁻ ¹=[20.06 48.84]. There are 4 possible connections between the headland driven path and the working row driven path, see FIG. 23(a)-(d). FIGS. 23(a) and 23(b) are type 1 connections while 23(c) and 23(d) are type 2 connections.

The paths are also described in the Table 5 below.

TABLE 5 Start direction Centre of Rotation i Start point (sp_(i)) (sd_(i)) Length (l_(i)) (cr_(i)) a 1 [20.89, 54.57] [0.66, 0.75] 8.5 [19.39, 55.89] 2 [17.53, 55.15] [0.37, −0.93] 6.8 ~ b 1 [16.59, 49.70] [0.66, 0.75] 4.08 [18.09, 48.38] 2 [19.95, 49.12] [0.37, −0.93] 0.6 ~ c 1 [21.13, 54.84] [0.66, 0.75] 8.34 [22.63, 53.52] 2 [22.27, 51.55] [0.98, −0.18] 4.26 [21.92, 49.58] d 1 [16.60, 49.71] [0.66, 0.75] 4.22 [18.10, 48.39] 2 [20.01, 48.99] [−0.30, 0.95] 0.16 [21.92, 49.58]

The field gates are also connected to, and from, the headland driven paths in the same way.

Cost Matrix

The connection from one working row driven path to another can be found if the first working row driven path connects to a specified headland driven path and the specified headland driven path also connects to the second working row driven path. In this way, upon leaving the first working row driven path the vehicle can follow the specified headland driven path until it is able to enter the second working row driven path. Since there are multiple ways for each working row driven path to connect to, and to be connected to from, each headland driven path and since there is the possible of multiple headland driven paths, there are many ways in which two working row driven paths can be connected.

A cost matrix is built up of the minimal distance to connect two working row driven path, the field gates are also included in this cost matrix. The ends of the working row driven paths are not able to connect to themselves therefore the minimal distance between them is set to infinity, also two working row driven paths that cover the same working row are not able to be connected (this would not make sense are it would mean the working row was worked twice), therefore their connection in the cost matrix is also set to infinity

The two working row driven path ends, who's connections were described earlier, are ¹EDR₊ ¹ and ³SDR⁻ ¹. Both of these ends connect to and from, resp., the same headland driven path therefore they can be connected. Fitting the turns together, going from one working row driven path end along the headland driven path and the into another working row driven path can be done a number of ways. Since there are 3 connections from ¹EDR₊ ¹ to the headland driven path and there are 4 connection from the headland driven path to ³SDR⁻ ¹, then in are 12 possible connection between the two working row driven paths. The table 6 below describes the lengths of all of the possible connections.

TABLE 6 ¹EDR₊ ¹ a b c ³SDR⁻ ¹ a 40.84 40.60 28.26 b 23.44 23.19 10.86 c 38.52 38.27 25.94 d 23.46 23.21 10.88

As can be seen from the Table 6 the shortest connection from ¹EDR₊ ¹ to ³SDR⁻ ¹ is by using connection c and then connection b. The path of the connection is shown in FIG. 22 and described in the Table 7 below.

TABLE 7 Start direction Centre of Rotation i Start point (sp_(i)) (sd_(i)) Length (l_(i)) (cr_(i)) 1 [13.01, 44.93] [−0.37, 0.93] 1.08 [14.87, 45.67] 2 [12.90, 45.99] [0.16, 0.99] 11.44 [10.92, 46.31] 3 [15.25, 48.19] [0.66, 0.75] 2.02 ~ 4 [16.59, 49.70] [0.66, 0.75] 4.08 [18.09, 48.38] 5 [19.95, 49.12] [0.37, −0.93] 0.6 ~

The cost matrix for a portion of the field is chosen below.

¹DR₊ ¹ ¹DR⁻ ¹ ³DR₊ ¹ ³DR⁻ ¹ ⁵DR₊ ¹ ⁵DR⁻ ¹ G¹ ¹DR₊ ¹ ~ ~ 50.59 10.86 43.62 17.59 18.98 ¹DR⁻ ¹ ~ ~ 28.57 27.12 25.94 33.84 19.54 ³DR₊ ¹ 26.08 18.43 ~ ~ 36.90 10.87 32.05 ³DR⁻ ¹ 45.72 45.41 ~ ~ 17.98 44.95 199.93 ⁵DR₊ ¹ 32.79 18.02 46.91 18.43 ~ ~ 54.24 ⁵DR⁻ ¹ 52.06 51.75 11.09 46.09 ~ ~ 75.76 G¹ 18.72 18.41 235.60 28.25 76.01 49.97 ~

The cost matrix can be used to determine a feasible route to navigate the field. Since the problem to find the optimal route to navigate the field can be consider an NP-hard problem (i.e. it may not be possible to find a solution in a nominal time frame) the heuristic solvers can be used to find a near optimal route. The solver must also account for the fact working row driven paths are associated to one another by the working row they cover.

In this example a greedy heuristic method is used to find a route to navigate the field. This method provides a simple estimate of what the optimal solution might be. However different solvers could be used, such as a tabu search solver, ant colony solver, genetic algorithms, etc., to give similar results.

Firstly a starting gate is chosen. The gate is chosen by considering all the connections from gates to the working row driven paths. The connections to the working row driven paths are in the rows labelled for each gate. The gate which has the shortest connection to any working row driven path is chosen as the starting gate and the working row driven path is chosen as the first working row driven path in the route. Since this working row driven path has been chosen as a “destination” it cannot be chosen as a destination from another working row driven path again, therefore all the values in the column associated with it are set to infinity. Also the other working row driven path associated with the same working row cannot be chosen as either as destination or a start so all of the values in both the column and the row associated with the other working row driven path are also set to infinity.

The first working row driven path is now considered the start point and shortest connection from it to another working row driven path is now sought after. The shortest connection is that in the row associated with the first working row driven path with the lowest value. The working row driven path with the lowest value is considered the second working row driven path in the route. Again all of the values in the column associated with the second working row driven path and that of the working row driven path associated with the same working row are set to infinity as is the row of values of the working row driven path associated with the same working row. This method continues until only the gates remain as possible destinations. The sum of all of the chosen connections is the estimation of the non-working distance needed to navigate the field.

Additionally a further heuristic solver could be used to improve upon the solution offered by the greedy solution and to find a solution nearer to the optimal solution. The tabu search method takes and initial solution and manipulates it with the aim to find better global solutions without becoming “locked in” to locally optimal solutions.

The tabu search is setup by setting an initial solution to the current local solution and the global solution. The iterative process then begins and a number of “moves” are used to determine a local neighbourhood of solutions around the local solution. The moves used could be switching the direction of a row, or changing the entrance or exit, or switching the order of two rows adjacent in the solution.

From the generated neighbourhood of solutions the best new, non-tabu, solutions is chosen. This new solution now becomes the local solution for the next iteration. The move used to generate the new solution is set to be tabu for a number of iterations, meaning the same move will not be used again for some time. This stops the local solution from becoming stagnant and increases the diversity of the algorithm while also helping to find a globally optimal solution. If the new solution is better than the current global solution then the new solution is also set as the global solution. If the new solution is not better than the global solution for a number of iterations the moves are intensified to find different solutions. The intensification alter the moves differently such that small groups of rows adjacent in the solution have the move expressed upon rather than one row at a time. Due to this there is a limit to the amount of intensification that can be applied to the moves, i.e. if the small group of rows is over half of the available rows. As such when the limit of the intensification is reached the tabu search is finished and an improved solution is returned.

Objective Function Parameterisation

To relate the estimation of the non-working distance, ENWD, to basic properties of the field a simplified model was developed.

The set of generated working rows are calculated using the previously defined methods. For each possible driving direction of the field, where DD=D_(d), the produced set of working rows are assessed on the following criteria;

Area of the working area, as shown in FIG. 9=WA

  Number  of  rows = NR_(d) = number  of  WR  for  D_(d) $\mspace{20mu} {{{Total}\mspace{14mu} {area}\mspace{14mu} {of}\mspace{14mu} {rows}} = {{TWRA}_{d} = {\sum\limits_{i = 0}^{n}\mspace{14mu} {{area}\mspace{14mu} {of}\mspace{14mu} {WR}^{i}}}}}$ ${{Width}\mspace{14mu} {of}\mspace{14mu} {the}\mspace{14mu} {area}\mspace{14mu} {if}\mspace{14mu} {the}\mspace{14mu} {direction}\mspace{14mu} {perpendicular}\mspace{14mu} {to}\mspace{14mu} {the}\mspace{14mu} {driving}\mspace{14mu} {direction}} = {{OW}_{d} = {{{\max \left\{ {{DD}^{\bot} \circ P_{j}} \right\}_{j}} - {\min {\left\{ {{DD}^{\bot} \circ P_{j}} \right\}_{j}.{Average}}\mspace{14mu} {row}\mspace{14mu} {length}}} = {{AR}_{d} = {{\frac{1}{NR}{\sum\limits_{i = 0}^{n}{\max \left\{ {{DD} \circ \left( {{{}_{}^{}{}_{}^{}} - L_{1}^{i}} \right)} \right\}_{j}}}} - {\min \left\{ {{DD} \circ \left( {{{}_{}^{}{}_{}^{}} - L_{1}^{i}} \right)} \right\}_{j}}}}}}$ Longest  row  length = LR_(d) = max {max {DD ∘ ( − L₁^(i))}_(j) − min {DD ∘ ( − L₁^(i))}_(j)}_(i) Shortest  row  length = SR_(d) = min {max {DD ∘ ( − L₁^(i))}_(j) − min {DD ∘ ( − L₁^(i))}_(j)}_(i)

The number of rows produced by each driving direction (NR_(d)) are ranked, NRR_(d), so that for the set with the least number of rows NRR_(d)=0, and for the set with the most number of rows NRR_(d)=number of possible driving directions. NRR is then normalised by dividing each number by the number of possible driving directions so that 0≤NRR_(d)≤1.

Therefore the basic model for predicting ENWD is as follows;

ENWD _(d)=λ₁ WA+λ ₂ NR _(d)+λ₃ TWRA _(d)+λ₄ OW+λ ₅ AR _(d)+λ₆ LR _(d)+λ₇ SR _(d)+λ₈ NRR _(d)

Optimal DD=min {ENWD _(d)}_(d)

Parameterisation of the Objective Function

The parameters of the objective function are set empirically by testing numerous driving directions on a large set of real fields. The real fields were taken from the set of Danish fields registered with the government. For each field and driving direction an estimation of the optimal non-working distance was made using the described methods, the parameter of the objective function area also calculated. Finally a regression algorithm is used to determine the parameterisation of the objective function.

Example 2

This example illustrates the present invention. This example illustrates in an very simplified and idealized way how the invention is to be conducted.

In this example an agricultural field comprising a number of obstacles needs to be worked by an agricultural working vehicle or implement.

FIG. 24 illustrates the field to worked. The field 500 is constrained within a field boundary 2. At a specific location on the field boundary 2 an entrance/exit gate is located.

The field boundary comprises two pairs of parallel lines. In the lower right corner of the field shown in FIG. 24 two perpendicular boundary lines are connected by a circular path.

Within the field boundary 2 two obstacles 8, which obviously must be avoided when working the field, are located.

First, the field boundary 2 is approximated to the shape of a polygon. This is illustrated in FIG. 25.

FIG. 25 shows that the boundary 2 of FIG. 24 has been approximated to a polygon. This polygon is defined as the polygon boundary 10. It is seen that the original circular path in the lower right corner of the field has been exchanged with three linear segments.

Also, each of the obstacles 8 have been approximated to an obstacle polygon 12. The shape of the obstacle polygon corresponds to a square encompassing the shape of obstacle 8 itself.

The next step in the method is to define a work area and one or more headlands. This is illustrated in FIG. 26. In FIG. 26 a headland 14 is defined immediately within the boundary polygon 10. The headland 14 is having a width corresponding to the effective working width of the working implement. Accordingly, the headland 14 is having an outer periphery 18 corresponding to the boundary polygon 10. Further, the headland 14 defines an inner periphery 20 arranged at a distance corresponding to an effective working width from the outer periphery 18.

Additionally, a headland 14′ is defined around each of the obstacle polygons 12. The headland 14′ is constrained within an outer periphery 18′ and an inner periphery 20′ of the headland 14′.

The area of the field 500 which is not a headland 14,14′ and which is not an obstacle 8 is defined as the work area 16.

It is seen in FIG. 26 that the polymer approximation of the boundary polygon and the obstacle polygon comprises 15 different linear segments (7 in respect of the boundary polygon and 4 in respect of each of the obstacle polygons 12.

As some of these 15 different linear segments are parallel, these 15 different linear segments define a total of 5 different orientations of linear segments (5 in respect of the boundary polygon and 0 in respect of the obstacle polygon (or alternatively, 2 in respect of each the obstacle polygon and 3 in respect of the boundary polygon)).

In the nest step we wish to create, within the work area, an array of possible work rows to be followed by the working vehicle. For the sake of simplicity we wish the possible work rows to be parallel to a side of a boundary polygon or of an obstacle polygon (or a headland thereof). In the present example we also wish the working rows to have a width corresponding to the effective working width of the implement intended to work the field.

Accordingly, in the present example, the working rows of the mainland may be oriented in five different orientations.

FIG. 27 illustrates one example of defining an array of possible working rows. In FIG. 27 it is shown that the working rows 24 are all oriented parallel to the left linear segment of the boundary polygon 10.

Another example of a definition of an array of possible working rows is shown in FIG. 28. FIG. 28 shows that the working rows 24 are all oriented parallel to the lower linear segment of the boundary polygon 10.

Likewise, similar arrays of possible working rows will be defined in respect of the remainder three of the five possible orientations which are parallel to a field boundary or to an obstacle boundary.

In this example the further steps are only illustrated with reference to the working rows defined as shown in FIG. 27.

The next step of the method is to connect in a number of possible ways working rows with headlands so as result in an array of possible continuous driving path for working the field in such a way that each work row and each headland will be worked.

One example of possible continuous driving path defined in respect of the orientation of the working rows as illustrated in FIG. 29.

In respect of each such possible continuous driving path in the array of possible continuous driving paths as defined in respect of each possible orientation of working rows, a cost parameter may be defined and the total cost of following each possible continuous driving path can be calculated.

The optimized driving path to follow will be that driving path exhibiting the lowest total cost.

One cost parameter may be total area travelled twice or more. In the present example it is seen that the only areas travelled twice or more are part of the headlands surrounding the obstacles and the upper headland of the field.

Accordingly, the path 28 illustrated in FIG. 29 may pose a good candidate for an optimized trajectory to follow by the working vehicle or implement. However, only by calculating the total cost in respect of a huge amount of possible continuous paths, it will be possible to find the most efficient trajectory to follow.

The flow diagram shown in FIG. 30 illustrates one example of the individual process steps to be followed in finding an optimized trajectory prior to working an agricultural cultural field comprising a number of obstacles.

The invention may be further explained with reference to the items 1-34 below:

Item 1: A support system (100) for determining a trajectory to be followed by an agricultural work vehicle, when working a field, said system comprises:

a mapping unit configured for receiving:

-   -   i) coordinates relating to the boundaries of a field to be         worked; and     -   ii) coordinates relating to the boundaries of one or more         obstacles to be avoided by said work vehicle; wherein said one         or more obstacles being located within said field;

a capacity parameter unit configured for receiving one or more capacity parameters relating to said working vehicle;

a trajectory calculating unit configured for calculating an optimized trajectory to be followed by said work vehicle; wherein said optimized trajectory is being calculated on the basis of said coordinates received by said mapping unit; and one or more of said one or more capacity parameters received by said capacity parameter unit.

Item 2: A support system (100) according to item 1, wherein said mapping unit furthermore is configured for receiving:

-   -   iii) coordinates relating to the possible entrance/exit gates of         the field.

Item 3: A support system (100) according to item 1 or 2, wherein said optimized trajectory is an optimized trajectory in terms of total operational time for working the field; total productive time for working the field; total fuel consumption for working the field; total non-working distance for working the field; total distance travelled twice or more; total distance travelled through crops; total area cover twice or more

Item 4: A support system (100) according to any of the items 1-3, wherein said one or more capacity parameters being selected from the group comprising: effective working width of the work vehicle or the working implement, load of work vehicle as a function of distance travelled, fuel consumption as a function of distance travelled, minimum turning radius of vehicle or implement or both

Item 5: A support system (100) according to any of the items 1-4 further comprising a display unit configured to be able to show on a map of said filed, the optimized trajectory to be followed by said work vehicle as calculated by said trajectory calculating unit.

Item 6: A support system (100) according to any of the items 1-5, wherein said mapping unit is being configured for storing, in respect of one or more specific fields, one or more of: i) coordinates relating to the boundaries of said one or more specific fields; ii) coordinates relating to the boundaries of one or more obstacles being located within said one or more specific fields; and iii) coordinates relating to the possible entrance/exit gates of said one or more specific fields.

Item 7: A support system (100) according to any of the items 1-6, wherein said trajectory calculating unit is configured to calculate an optimized trajectory analytically or numerically.

Item 8. A support system (100) according to item any of the preceding items, wherein said trajectory calculating unit is being configured to find a number of candidate trajectories, and wherein said trajectory calculating unit is configured to calculate, in respect of each candidate trajectory, an efficiency parameter, and wherein said trajectory calculating unit is configured to suggest to the user, that specific candidate trajectory, which exhibits the highest efficiency parameter.

Item 9: A support system (100) according to item any of the preceding items, wherein said trajectory calculating unit is being configured to perform the following steps:

a) approximating the coordinates relating to the boundaries of said field to be worked to a boundary polygon; and wherein said support system is being configured to determine the trajectory to be followed, based on that approximation;

-   -   b) approximating the coordinates relating to the boundaries of         each said one or more obstacles, to respective obstacle         polygons; and wherein said support system is being configured to         determine the trajectory to be followed, based on that         approximation;     -   c) defining one or more headlands located immediately within         said boundary polygon;     -   d) in respect of each obstacle polygon, defining one or more         headlands surrounding said obstacle polygon;     -   e) defining a work area which corresponds to the area within         said boundary polygon with the exclusion of the area         corresponding to any headlands and with the exclusion of the         area corresponding to any obstacle polygon;     -   f) in respect of the orientation of one or more sides of         headlands, define an array of parallel working rows located         within said work area;     -   g) in respect of one or more arrays of parallel working rows         defined in step 0, define an array of possible continuous         driving paths by connecting separate entities, wherein said         separate entities is being either headlands, or parts of a         headland, and working rows, or parts of a working row; so as to         define possible continuous driving paths, wherein each driving         path is covering all headlands and all working rows;     -   h) in respect of each of more possible continuous driving paths         defined in step g), calculate an associated cost parameter, said         calculated cost parameter being representative of the efficiency         by following that specific continuous driving path;     -   i) select as the trajectory to be followed, that specific         continuous driving path exhibiting the highest efficiency.

Item 10: A support system (100) according to item 9, wherein said trajectory calculating unit is being configured to create a possible continuous path by first choosing a particular entrance/exit gate.

Item 11: A support system (100) according to item 9 or 10, wherein in respect of one or more of said obstacle polygons, said headland surrounding said obstacle polygon includes a safety offset area surrounding said obstacle polygon.

Item 12: A support system (100) according to any of the items 9-11, wherein each said working row and/or each said headland independently are having a width corresponding to the effective working width of the work vehicle or working implement.

Item 13: A support system (100) according to any of the items 9-12, wherein said support system being configured for defining a number of possible continues driven paths, each comprising a sequence of straight line segments and arched line segments.

Item 14: A support system (100) according to any of the preceding items, wherein said support system is being configured to find said optimized trajectory by means of a heuristic method, such as a greedy heuristic method, a tabu search solver, an ant colony solver, a genetic algorithm.

Item 15: A support system (100) according to any of the items 8-14, wherein said support system is being configured to create a number N of possible continuous driven paths with an associated assigned cost parameter, and wherein said number N being an integer in the range 1,000-700,000 or more, for example 2,000-600,000, such as 5,000-500,000, e.g. 10,000-400,000, such as 50,000-300,000 or 100,000-200,000 possible continuous driven paths with an associated assigned cost parameter.

Item 16: A method for determining a trajectory to be followed by an agricultural work vehicle, when working a field, said method comprising the steps:

a) providing information relating to:

-   -   i) coordinates relating to the boundaries of a field to be         worked; and     -   ii) coordinates relating to the boundaries of one or more         obstacles to be avoided by said work vehicle; wherein said one         or more obstacles being located within said field;

b) providing information relating to:

-   -   one or more capacity parameters relating to said working         vehicle;

c) performing a calculation of an optimized trajectory to be followed by said work vehicle;

wherein said optimized trajectory is being calculated on the basis of said coordinates provided in step a) and b)

Item 17: A method according to claim 16, wherein step a) furthermore is involves providing

-   -   iii) coordinates relating to the possible entrance/exit gates of         the field.

Item 18: A method according to item 16 or 17, wherein said optimized trajectory is an optimized trajectory in terms of total operational time for working the field; total productive time for working the field; total fuel consumption for working the field; total non-working distance for working the field; total distance travelled twice or more; total distance travelled through crops; total area covered twice or more

Item 19: A method according to any of the items 16-18, wherein said one or more capacity parameters being selected from the group comprising: effective working width of the work vehicle or the working implement, load of work vehicle as a function of distance travelled, fuel consumption as a function of distance travelled, minimum turning radius of vehicle or implement or both

Item 20: A method according to any of the items 16-19, wherein said optimized trajectory to be followed by said work vehicle is being presented in a graphical presentation such as being showed on an electronic map of said field to be worked.

Item 21: A method according to any of the items 16-20 involving calculation of said optimized trajectory analytically or numerically.

Item 22: A method according to any of the items 16-21, said method involves finding a number of candidate trajectories; calculation in respect of each candidate trajectory, an efficiency parameter; and suggesting to a user, that specific candidate trajectory, which exhibits the highest efficiency parameter.

Item 23: A method according to any of the items 16-22, wherein said method involves performing the following steps:

-   -   a) approximating the coordinates relating to the boundaries of         said field to be worked to a boundary polygon;     -   b) approximating the coordinates relating to the boundaries of         each said one or more obstacles, to respective obstacle         polygons;     -   c) defining one or more headlands located immediately within         said boundary polygon;     -   d) in respect of each obstacle polygon, defining one or more         headlands surrounding said obstacle polygon;     -   e) defining a work area which corresponds to the area within         said boundary polygon with the exclusion of the area         corresponding to any headlands and with the exclusion of the         area corresponding to any obstacle polygon;     -   f) in respect of the orientation of one or more sides of         headlands, define an array of parallel working rows located         within said work area;     -   g) in respect of one or more arrays of parallel working rows         defined in step f), define an array of possible continuous         driving paths by connecting separate entities, wherein said         separate entities is being either headlands, or parts of a         headland, and working rows, or parts of a working row; so as to         define possible continuous driving paths wherein each driving         path is covering all headlands and all working rows;     -   h) in respect of each of more possible continuous driving paths         defined in step g), calculate an associated cost parameter, said         calculated cost parameter being representative of the efficiency         by following that specific continuous driving path;     -   i) select as the trajectory to be followed, that specific         continuous driving path exhibiting the highest efficiency.

Item 24: A method according to item 23, wherein said method involves creation of a possible continuous path by first choosing a particular entrance/exit gate.

Item 25: A method according to item 23 or 24, wherein in respect of one or more of said obstacle polygons, said headland surrounding said obstacle polygon includes a safety offset area surrounding said obstacle polygon.

Item 26: A method according to any of the item 23-25, wherein each said working row and/or each said headland independently are having a width corresponding to the effective working width of the work vehicle or working implement.

Item 27: A method according to any of the item 23-26, wherein said method involves defining a number of possible continuous driven paths, each comprising a sequence of straight line segments and arched line segments.

Item 28: A method according to any of the items 16-27, wherein said method involves finding said optimized trajectory by means of a heuristic method, such as a greedy heuristic method, a tabu search solver, an ant colony solver, a genetic algorithm.

Item 29: A method according to any of the items 21-28, wherein said method involves creating a number N of possible continuous driven paths with an associated assigned cost parameter, and wherein said number N being an integer in the range 1,000-700,000, for example 2,000-600,000, such as 5,000-500,000, e.g. 10,000-400,000, such as 50,000-300,000 or 100,000-200,000 possible continuous driven paths with an associated assigned cost parameter., possible continuous driven paths with an associated assigned cost parameter.

Item 30: A method according to any of the preceding items, wherein said method being performed by using a support system according to any of the items 1-15.

Item 31: A computer program product, which when loaded or operating on a computer, being adapted to perform the method according to any of the items 16-29.

Item 32: An agricultural work vehicle comprising a support system according to any of the items 1-15.

Item 33: Use of a support system according to any of the items 1-15 or of a computer program product according to item 31 or of an agricultural work vehicle according to item 32 for optimizing a trajectory to be followed by said work vehicle when working a field.

Item 34: Use according to item 33, wherein said working a field relates to mechanical working of the soil, such as plowing, harrowing, tilling; sowing; weeding, fertilizing, harvesting.

LIST OF REFERENCE NUMERALS

2 Boundary of crop field

4 Entrance/exit gate

8 Obstacle within crop field

10 Boundary polygon

12 Obstacle polygon

14,14′ Headland

16 Work area

18, 18′ Outer periphery of headland

20,20′ Inner periphery of headland

24 Work row within work area

28 Possible continuous driving path for working a field

100 Support system

500 Agricultural field

A,B Entrance/exit gate

D,C,E Obstacle in agricultural field

G Working implement

I₁,I₂ Information

I₃,I₄ Information

MU Mapping unit

CU Capacity parameter unit

TCU Trajectory calculating unit

M Display/monitor 

1. A support system for determining a trajectory to be followed by an agricultural work vehicle, when working a field, said system comprises: a mapping unit configured for receiving: i) coordinates relating to the boundaries of a field to be worked; and ii) coordinates relating to the boundaries of one or more obstacles to be avoided by said work vehicle; wherein said one or more obstacles being located within said field; a capacity parameter unit configured for receiving one or more capacity parameters relating to said working vehicle; a trajectory calculating unit configured for calculating an optimized trajectory to be followed by said work vehicle; wherein said optimized trajectory is being calculated on the basis of said coordinates received by said mapping unit; and one or more of said one or more capacity parameters received by said capacity parameter unit; wherein said trajectory calculating unit is being configured to perform the following steps: a) approximating the coordinates relating to the boundaries of said field to be worked to a boundary polygon; and wherein said support system is being configured to determine the trajectory to be followed, based on that approximation; b) approximating the coordinates relating to the boundaries of each said one or more obstacles, to respective obstacle polygons; and wherein said support system is being configured to determine the trajectory to be followed, based on that approximation; c) defining one or more headlands located immediately within said boundary polygon; d) in respect of each obstacle polygon, defining one or more headlands surrounding said obstacle polygon; e) defining a work area which corresponds to the area within said boundary polygon with the exclusion of the area corresponding to any headlands and with the exclusion of the area corresponding to any obstacle polygon; f) in respect of the orientation of one or more sides of headlands, define an array of parallel working rows located within said work area; g) in respect of one or more arrays of parallel working rows defined in step f), define an array of possible continuous driving paths by connecting separate entities, wherein said separate entities is being either headlands, or parts of a headland, and working rows, or parts of a working row; so as to define possible continuous driving paths, wherein each driving path is covering all headlands and all working rows; h) in respect of each of more possible continuous driving paths defined in step g), calculate an associated cost parameter, said calculated cost parameter being representative of the efficiency by following that specific continuous driving path; i) select as the trajectory to be followed, that specific continuous driving path exhibiting the highest efficiency . efficiency. 2-14. (canceled)
 15. A method for determining a trajectory to be followed by an agricultural work vehicle, when working a field, said method comprising the steps: a) providing information relating to: i) coordinates relating to the boundaries of a field to be worked; and ii) coordinates relating to the boundaries of one or more obstacles to be avoided by said work vehicle; wherein said one or more obstacles being located within said field; b) providing information relating to: one or more capacity parameters relating to said working vehicle; c) performing a calculation of an optimized trajectory to be followed by said work vehicle; wherein said optimized trajectory is being calculated on the basis of said coordinates provided in step a) and b); wherein said method involves performing the following steps: a) approximating the coordinates relating to the boundaries of said field to be worked to a boundary polygon; b) approximating the coordinates relating to the boundaries of each said one or more obstacles, to respective obstacle polygons; c) defining one or more headlands located immediately within said boundary polygon; d) in respect of each obstacle polygon, defining one or more headlands surrounding said obstacle polygon; e) defining a work area which corresponds to the area within said boundary polygon with the exclusion of the area corresponding to any headlands and with the exclusion of the area corresponding to any obstacle polygon; f) in respect of the orientation of one or more sides of headlands, define an array of parallel working rows located within said work area; g) in respect of one or more arrays of parallel working rows defined in step f), define an array of possible continuous driving paths by connecting separate entities, wherein said separate entities is being either headlands, or parts of a headland, and working rows, or parts of a working row; so as to define possible continuous driving paths wherein each driving path is covering all headlands and all working rows; h) in respect of each of more possible continuous driving paths defined in step g), calculate an associated cost parameter, said calculated cost parameter being representative of the efficiency by following that specific continuous driving path; i) select as the trajectory to be followed, that specific continuous driving path exhibiting the highest efficiency. 16-28. (canceled)
 29. A computer program product, which when loaded or operating on a computer, being adapted to perform the method according to claim
 15. 30-32. (canceled) 